import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Random;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: YKH
 * Date: 2022-07-15
 * Time: 19:14
 */
public class Test {
    // 给 10w 个数据 , 去除其中重复的数据
    public static void func1( int []array) {
        HashSet<Integer> set = new HashSet<>();
        for (int i = 0; i < array.length; i++) {
                set.add(array[i]);
        }
        System.out.println(set);
    }

    //给10w个数据 , 找出第一个重复的数字
    public static void func2( int []array) {
      HashSet<Integer> set = new HashSet<>();
        for (int i = 0; i < array.length; i++) {
            if( set.contains( array[i]) ) {
                System.out.println( array[i]);
                return;
            }
            set.add(array[i]);
        }
    }

    //给10w个数据 , 统计每个数字出现的次数
    public static  Map<Integer,Integer> func3( int []arr) {
        Map<Integer,Integer> map = new HashMap<>();
        for (int i = 0; i < arr.length; i++) {
            if( map.get( arr[i]) == null) {
                map.put(arr[i],1);
            } else {
                int val = map.get(arr[i]);
                map.put( arr[i],val+1);
            }
        }
        return map;
    }
    public static void main(String[] args) {
        int[]arr = new int[10_000];
        Random random = new Random();
        for (int i = 0; i <arr.length; i++) {
            arr[i] = random.nextInt()%10;
        }
        func1(arr);
        func2(arr);
        Map<Integer,Integer> map = func3(arr);
        for (Map.Entry<Integer,Integer> entry: map.entrySet()) {
            System.out.println( "key :" + entry.getKey() + "  value : " + entry.getValue());
        }
    }
}
